High Level Language Embeddings for Deterministic Concurrency

نویسنده

  • Aleksandar Prokopec
چکیده

We present a concurrent programming language Cilk-5 in terms of semantics and implementation [1]. We show how it relies on both the compiler and the work stealing scheduler to produce efficient execution schedules of programs, and give a theoretical analysis of its perfomance. We then introduce the concept of dataflow programming [9] in which programs yield the same observable results regardless of a particular execution schedule. This paradigm is useful for parallel programming, since it ensures that programs exhibit identical behaviour independent of the platform they are deployed on. Finally, we describe a method for embedding domain-specific languages in host languages using the typechecker of the host language to ensure typing rules are followed [7]. This technique allows using the staged representation of a program to compile it to different languages depending on the target platform.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modelling Remote Concurrency with Ada. Case Study of Symmetric Non-deterministic Rendez-vous. Modelling Remote Concurrency with Ada. Case Study of Symmetric Non-deterministic Rendez-vous

When developing concurrent software, a proper engineering practice is to choose a good level of abstraction for expressing concurrency control. Ideally, this level should provide platform-independent abstractions but, as the platform concurrency behaviour cannot be ignored, this abstraction level must also be able to cope with it and exhibit the influence of different possible behaviours. We st...

متن کامل

Modelling remote concurrency with Ada. Case study of symmetric non-deterministic rendezvous

When developing concurrent software, a proper engineering practice is to choose a good level of abstraction for expressing concurrency control. Ideally, this level should provide platform-independent abstractions but, as the platform concurrency behaviour cannot be ignored, this abstraction level must also be able to cope with it and exhibit the influence of different possible behaviours. We st...

متن کامل

Simulation and Statistical Model Checking for Modestly Nondeterministic Models

Modest is a high-level compositional modelling language for stochastic timed systems with a formal semantics in terms of stochastic timed automata. The analysis of Modest models is supported by the Modest Toolset, which includes the discrete-event simulator modes. modes handles arbitrary deterministic models as well as models that include nondeterminism due to concurrency through the use of met...

متن کامل

Higher-Order Concurrency in PVM

Message-passing systems are typically used to achieve high-performance parallel computing. In this paper we examine how advanced concurrent programming can be achieved using existing message-passing systems. In particular, we look at Reppy's extension to Hoare's basic CSP model, called higher-order concurrency, where communication events (such as send, receive and non-deterministic choice) are ...

متن کامل

FlowPools: A Lock-Free Deterministic Concurrent Dataflow Abstraction

Implementing correct and deterministic parallel programs is challenging. Even though concurrency constructs exist in popular programming languages to facilitate the task of deterministic parallel programming, they are often too low level, or do not compose well due to underlying blocking mechanisms. In this paper, we present the design and implementation of a fundamental data structure for comp...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010